import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 用户信息 */
export interface Users {
          id: number; // 用户ID
          username?: string; // 用户名
          password?: string; // 密码
          realName?: string; // 真实姓名
          email: string; // 邮箱
          phone: string; // 手机号
          userType?: number; // 用户类型(老师1，学生2，管理员3)
          dormitoryId?: number; // 所属宿舍ID
          checkInDate: string | Dayjs; // 入住日期
          checkOutDate: string | Dayjs; // 退宿日期
  }

// 用户 API
export const UsersApi = {
  // 查询用户分页
  getUsersPage: async (params: any) => {
    return await request.get({ url: `/dorm/users/page`, params })
  },

  // 查询用户详情
  getUsers: async (id: number) => {
    return await request.get({ url: `/dorm/users/get?id=` + id })
  },

  // 新增用户
  createUsers: async (data: Users) => {
    return await request.post({ url: `/dorm/users/create`, data })
  },

  // 修改用户
  updateUsers: async (data: Users) => {
    return await request.put({ url: `/dorm/users/update`, data })
  },

  // 删除用户
  deleteUsers: async (id: number) => {
    return await request.delete({ url: `/dorm/users/delete?id=` + id })
  },

  /** 批量删除用户 */
  deleteUsersList: async (ids: number[]) => {
    return await request.delete({ url: `/dorm/users/delete-list?ids=${ids.join(',')}` })
  },

  // 导出用户 Excel
  exportUsers: async (params) => {
    return await request.download({ url: `/dorm/users/export-excel`, params })
  },
}